package com.zhuang.arraylist.cloneDemo;

/**
 * 案例:已知A对象的姓名为豹子头林冲，年龄30 。由于项目特殊要求需要将该对象的数据 复制另外一个对象B中，并且此后A和B两个对象的数据不会相互影响
 *
 * 浅拷贝的局限性
 */
@SuppressWarnings("all")
public class CloneTest02 {
	public static void main(String[] args) throws Exception {
		test01();
	}

	public static void test01() throws Exception {
		// 创建技能对象
		Skill s = new Skill("倒拔垂杨柳");
		// 创建学生对象
		Student stu1 = new Student("鲁智深", 30, s);
		// 调用clone的方法进行数据的拷贝
		Object stu2 = stu1.clone();
		System.out.println(stu1 == stu2);
		System.out.println(stu1);
		System.out.println(stu2);

		System.out.println("----此时不管修改哪个对象的内容,stu1和stu2都不会受到影响----");
		// 更改stu1对象的内容
		stu1.setAge(33);
		s.setSkillName("拳打镇关西");
		System.out.println(stu1);
		System.out.println(stu2);
	}
}
